Page({
  // 获取跳转地址
  onLoad(options) {
    // console.log(options)
    this.setData({
      redirect: options.redirect
    })
  },
  data: {
    countDownVisible: false,
    mobile: '',
    code: '',
    token: '',
    redirect: ''
  },

  countDownChange(ev) {
    this.setData({
      timeData: ev.detail,
      countDownVisible: ev.detail.minutes === 1 || ev.detail.seconds > 0,
    })
  },
  // 校验手机号
  mobeilRule() {
    // 给手机号添加校验规则
    const rules = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[1589]))\d{8}$/
    // 去掉校验的空格 test()检测功能，返回值为boolean
    const voild = rules.test(this.data.mobile.trim())
    // console.log(voild)
    // 判断手机号是否正确
    if (!voild) wx.utils.toast('请输入正确的手机号码')
    return voild
  },
  // 校验验证码
  codeRule() {
    const rules = /^\d{6}$/
    const voild = rules.test(this.data.code.trim())
    if (!voild) wx.utils.toast('请输入正确的验证码')
    return voild
  },
  // 复制验证码
  copyCode() {
    wx.setClipboardData({
      data: this.data.code
    })
  },
  // 获取短信验证码
  async getCode() {
    // console.log(1111)
    if (!this.mobeilRule()) return
    const res = await wx.http.get('/code', { mobile: this.data.mobile.trim() })
    // console.log(res)
    // 发送成功提示用户
    wx.utils.toast('发送成功，请注意查收')
    this.setData({
      // 开启倒计时
      countDownVisible: true,
      code: res.data.code
    })
  },
  // 登录按钮
  async onSubmit() {
    // 表单验证
    if (!this.mobeilRule()) return
    if (!this.codeRule()) return
    // 发送请求
    const { mobile, code } = this.data
    const res = await wx.http.post('/login', { mobile, code })
    // console.log(res)
    // 存储token到本地和app里面
    getApp().setToken(res.data.token, res.data.refreshToken)
    // 提示用户
    wx.utils.toast('登录成功')
    // 跳转路由
    const redirect = this.data.redirect || 'pages/my/index'
    // wx.redirectTo({ url: '/' + redirect })
    // wx.reLaunch()可以跳转tabbar页面
    wx.reLaunch({ url: '/' + redirect })
  }
})
